In many computer implementations, it is desirable to be able to control the flow of network traffic among processes. For example, a particular application may be permitted to receive network traffic from A but not from B. On the other hand, a different application may be permitted to receive traffic from either A or B, but only of a certain type of message (i.e., a web page, for example). Further, it is desirable to be able to specify what amount of network resources may be consumed by which entities. For example, it may be desirable to specify that a certain group of applications is allowed to consume an X amount of a set of network resources, while another group of applications is allowed to consume a Y amount of the network resources. Current systems allow certain resources to be allocated to certain entities. However, the level of control that is possible with current systems is fairly limited.